home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2011 November
/
CHIP_2011_11.iso
/
Programy
/
Inne
/
Gry
/
Carnage_Contest
/
scripts
/
CC Original
/
weapons
/
Brain Punch.lua
< prev
next >
Wrap
Text File
|
2010-08-31
|
3KB
|
80 lines
--------------------------------------------------------------------------------
-- Weapon Brain Punch
-- Original Carnage Contest Weapon
-- Script by DC, September 2009, www.UnrealSoftware.de
--------------------------------------------------------------------------------
-- Setup Tables
if cc==nil then cc={} end
cc.brainpunch={}
-- Load & Prepare Ressources
cc.brainpunch.gfx_wpn=loadgfx("weapons/uppercut.bmp") -- Weapon Image
setmidhandle(cc.brainpunch.gfx_wpn)
cc.brainpunch.gfx_icon=loadgfx("weapons/brainpunch.bmp") -- Weapon Icon
setmidhandle(cc.brainpunch.gfx_icon)
cc.brainpunch.sfx_attack=loadsfx("throw.ogg") -- Attack Sound
--------------------------------------------------------------------------------
-- Weapon: Brain Punch
--------------------------------------------------------------------------------
cc.brainpunch.id=addweapon("cc.brainpunch","Brain Punch",cc.brainpunch.gfx_icon,1) -- Add Weapon (1 use)
function cc.brainpunch.draw() -- Draw
-- Decrease Timer (used for arm animation)
if weapon_timer>0.0 then
weapon_timer=weapon_timer-0.5
end
-- Draw
if getplayeraction(0)==0 then
setblend(blend_alpha)
setalpha(1)
setcolor(255,255,255)
setscale(-getplayerdirection(0),1)
setrotation(0)
drawimage(cc.brainpunch.gfx_wpn,getplayerx(0)+getplayerdirection(0)*9,getplayery(0)+2-weapon_timer)
end
end
function cc.brainpunch.attack(attack) -- Attack
if (weapon_shots<=0) then
if (attack==1) then
-- No more weapon switching!
useweapon(0)
playsound(cc.brainpunch.sfx_attack)
weapon_shots=weapon_shots+1
-- Set timer for arm animation
weapon_timer=7
-- Collision (side)
col1=0
if collision(col5x5,getplayerx(0)+getplayerdirection(0)*20,getplayery(0)-3,0,1,0)==1 then
if playercollision()~=0 and playercollision()~=playercurrent() then
playerpush(playercollision(),getplayerdirection(0)*3,-5)
playerdamage(playercollision(),30)
playerstate(playercollision(),state_confused,1)
playsound(sfx_splatter1)
col1=playercollision()
particle(p_ring,getplayerx(playercollision()),getplayery(playercollision()))
particlecolor(255,0,0)
blood(getplayerx(playercollision()),getplayery(playercollision()))
end
end
-- Collision (top)
if collision(col20x20,getplayerx(0),getplayery(0)-30,0,1,0)==1 then
if playercollision()~=0 and playercollision()~=playercurrent() and playercollision()~=col1 then
playerpush(playercollision(),getplayerdirection(0)*3,-5)
playerdamage(playercollision(),30)
playerstate(playercollision(),state_confused,1)
playsound(sfx_splatter1)
particle(p_ring,getplayerx(playercollision()),getplayery(playercollision()))
particlecolor(255,0,0)
blood(getplayerx(playercollision()),getplayery(playercollision()))
end
end
-- End Turn
endturn()
end
end
end